package com.geek.javase.ch03.test2;

/*
 *@author wangpeng
 *2025/10/12 19:57
 *@description TODO
 */
/*
2.假如我们开发一个系统时需要对员工进行建模，员工包含3个属性：姓名、工号以及工资。
经理也是员工，除了含有员工的属性外，另外还有一个分红的属性。
请设计出员工类和经理类，要求类中提供必要的方法进行属性访问。
员工类: name  id  pay  抽象的addSalary()方法
经理类：继承员工类，并有自己特有的bonus分红属性，实现自己的addSalary()涨薪方法
*/
public abstract class Employee {
    //属性
    private String name;
    private int id;
    private double pay;

    //抽象的addSalary()方法
    public abstract void addSalary(double p1);
    //有参构造
    public Employee(String name, int id, double pay) {
        this.name = name;
        this.id = id;
        this.pay = pay;
    }
    //getter方法
    public String getName() {
        return name;
    }

    public int getId() {
        return id;
    }

    public double getPay() {
        return pay;
    }
    //setter方法
    public void setName(String name) {
        this.name = name;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void setPay(double pay) {
        this.pay = pay;
    }
    public String toString() {
        return "Employee{" +
                "name='" + name + '\'' +
                ", id=" + id +
                ", pay=" + pay +
                '}';
    }
}
